#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int gval = 200;

int main()
{
    printf("我是一个进程，我的 pid：%d\n", getpid());
    pid_t id = fork();
    if(id < 0)
    {
        perror("fork");
        return 1;
    }
    else if(id == 0)
    {
        printf("我是一个子进程，我的 pid：%d，父进程 pid：%d\n", getpid(), getppid());
        sleep(5);
        while(1)
        {
            sleep(1);
            printf("子进程修改数据：%d->%d\n", gval, gval + 10);
            gval += 10;
            printf("我是一个子进程，我的 pid：%d，父进程 pid：%d\n", getpid(), getppid());
        }
    }
    else 
    {
        while(1)
        {
            sleep(1);
            printf("我是一个父进程，我的 pid：%d，父进程 pid：%d，gval：%d\n", getpid(), getppid(), gval);
        }
    }



//    printf("我是一个进程，我的 pid：%d\n", getpid());
//    fork();
//    printf("我是一个进程，我的 pid：%d，我的父进程 pid：%d\n", getpid(), getppid());


//    while(1)
//    {
//        printf("我是一个进程，我的 pid：%d，我的父进程 pid：%d\n", getpid(), getppid());
//        sleep(1);
//    }

    return 0;
}
